ضثک ایعصثیهص عی 43-11-713-01 ترصچ اضم داوشگاي شهيد بهشتی داوشکديی مهىدسی و علىم کامپيىتر زمستان 1394 احمد محمىدی ازواوي http://facultes.sbu.ac.r/~a_mahmoud/
ف طستهؽالة هاضیيتطزاضپطتیثاى) SVM ( تاضیرچ هعطفی زاز ایخساییپصیطذؽی Soft Margn هدو ع ایخسایی اپصیطذؽی گاضتت فعاییتااتعازتاال Inner product kernel هثال XOR SVMزض Matlab عصبی شبک 2
تاضیرچ سر یا لی ی SVMت سػآلای Vapnk Vladmr اضائ ضس. Vapnkتا وکاضیذا ن Cortes Cornnaاستا ساضز ک ی SVMضازضسال 1993 پای ضیعیکطز زض سال 1995 ه تطط و ز س. Cortes, C. and V. Vapnk (1995). "Support-vector networks." Machne Learnng 20(3): 273-297. 3
هعطفی یکخساک س یذؽیضاهیت اى وا سضکلظیط زض ظطگطفت. W X + B > 0 W X + b = 0 W X + b < 0 F(X) = SIGN(W X + b) www.cs.utexas.edu/~mooney/cs391l/sldes/svm.ppt 4
هطظت ی س ال کسامیکاظهطظ ا هطظیت ی تطایخساساظیاست www.cs.utexas.edu/~mooney/cs391l/sldes/svm.ppt 5
هطظخساساظی ت هیذ ا ین ت زستآ ضین. گ ای اض خساساظی هطظ ت تطیي Margn of separaton r فطضک ین عزیکتطیي مؽ ت هطظ خساساظیزض ظطگطفت ضس فاصل ضا r ت اهین. سفهاکعیون و زى r است. یکحاضی هطرصهیک ین ط هطظیک حاضی یپ يتطیضا تید ز س ت تطاست. عصبی شبک 6
حاضی یهاکعیون یت ذ ایس ی )Margn( حاضی و زى هاکعیون استخ تخساساظیذؽی ایيضی ضا LSVMیا Lnearهی اه س. SVM یضاح هطظ ض ی ت ک و ایی حالت ایي زض ست س اظا ویت یژ ایتطذ ضزاض س. تسیي سیل هیت اىاظ و ایزیگطصطف ظطکطز ت ات و ایه نض یهطظحاضی پطزاذت. عصبی شبک 7
Support Vector تطزاضپطتیثاى پطتیثاى«و ای ت هیگ ی س. ض ی هطظ حاضی»تطزاض تطزاض ایپطتیثاى Optmal hyperplane عصبی شبک 8
هطظخساساظی W X تطایهعازل یهطظخساساظیزاضتین: b 0 ( X, d 1) W X b ( X, d 1) W X b 0 صرطه b W ت سػ ت ی هطظ ک ین فطض ض ز. ظطه ت مؽ عزیکتطیي ک ین فطض فطض: خساساظیضازض ظطگطفت فاصل ضا» r «ت اهین. 0 عصبی شبک 9
هطظخساساظی)ازاه...( سف هاکعیون و زىفاصل یا واى ρ=2r است. تطای ماغض یهطظخساساظیت ی زاضین: W X b 0 g( X ) W X b تطای ماغذاضجاظهطظزاضین: ( g(x هیت ا سهثثتیاه فیتاضس. 10
هطظخساساظی)ازاه...( زضص ضتیک X تطزاضپطتیثاىتاضس ؼثكضکلظیطذ ا ینزاضت: X X p AB A X p X B ABزضخ تعو زتطهطظخساک س اگطا ساظ یتطزاض AB=r زض ظطگطفت ض ز ذ ا ینزاضت: W X X p r W AB W r W 11
g( X ) W X b هطظخساساظی)ازاه...( W X X p r W W g( X ) W[ X p r ] b W W g( X ) W X b r W W p زاضتین: ريی مرز پس تراتر تا صفر g( X ) 2 W r g( X ) r W W 12
هطظخساساظی)ازاه...( g( X ) r W r A gx ( ) W x p سفهاکعیون و زى r است. زضایيحالتتحتضطایؽیهیتایس W کوی گطزز. r X=0 g( X) W b W b 0 W B X هثثتیاه فیت زى b طاىز س یایياست ک هثسأزضکسامسوتذػهطظیاست. فاصل اظهثساهرتصات 13
هطظخساساظی)ازاه...( خساساظذؽیضات ص ضتظیطزض ظطهیگیطین: ( X, 1) W X b 1 for d 1 ( X, 1) W X b 1 for d 1 d ( W X b ) 1 است b ي W یافته مسال داریم: لکی ص رت ت تطلطاض آه ظضی الگ ای تواهی تطای تاال ضاتؽ ی است. زض تید تطایتطزاض ایپطتیثاى s s g( X ) W X b 1 عصبی شبک 14
هطظخساساظی)ازاه...( s s g( X ) W X b 1 r s g( X ) W 1 W 1 W زض تید فاصل یز تطزاضپطتیثاىزضز ؼطفهطظ: 2r 2 W 15
خساییپصیطذؽی x + ρ=margn Wdth X - W. X + + b = +1 W. X - + b = -1 W. (X + -X -) = 2 هیزا ین: ( X X ) W 2 W W 16
خساییپصیطذؽی تات خ ت ز ضاتؽ ی ت ایي تید هیضسینک W هیتایسهی یون گطزز. ایيهسأل هعازلهی یونکطزى Φ یکتاتعهحسب) Functon Convex (است. ؼثكضاتؽ یتطای N الگ ی d( W X b ) 1 آه ظضیضطغظیطهیتایستطلطاضتاضس: 2r 2 W d ( W X b ) 1 ( W ) 1 W W 2 N 1 [ d ( W X b ) 1] ایه میسان تسرگتر یا مسايی صفر است 17
ذالص 2 W ظى ا تایاسضات گ ایتیاتیسک : s maxmzed and for all (X, d ), =1..n : d (W X + b) 1 ظى ا تایاسضات گ ایتیاتیسک : Φ(W) =1/2 W 2 =1/2W W s mnmzed and for all (X, d ), =1..n : d (W X + b) 1 18
یافتيض ی یت ی ک گ ای ت هیض ز تعطیف ظیط الگطا ژ ضاتؽ ی طز لیسشکطضس ضاپ ضصز س: ز J W Lagrange multpler(nonnegatve) b سثت ت ط عصبی شبک N 1 J( W, b, ) W W [ d( W X b) 1] 2 N 0W d X 0 1 1 W آ ضزى ت زست تطای هطتكهیگیطین. W N d X 1 N J 0 d 0 ومیآید دست ت b b 1 N d 0 مید د قید یک يلی 1 19
N 1 d 0 یافتيض ی یت ی ز ضطغتطای α ذ ا ینزاضت: ات هت اظط آه ظضی الگ ای تطای α ط اظای ت SV اضاتؽ یظیطتطلطاضاست: α تید زض ذ ا ست ز. هت اظط تا تطزاض ای پطتیاى غیطصفط عصبی شبک [ d ( W X b) 1] 0 صفط غیطصفط d ( W X b ) 1 0 Karush Kuhn ucker(kk) condton of tmzaton theory 20
یافتيض ی یت ی N 1 2 J( W, b, ) W [ d( W X b) 1] 2 1 N N N 1 J( W, b, ) W W dw X db 2 W N 1 N d X 1 d 0 1 1 1 تطایهمازیطت ی زاضتین: Dualty theorem پسذ ا ینزاضت: 1 J( W, b, ) W W W W 0 N 2 1 21
Dual Problem 1 J( W, b, ) W W W W 0 N 2 1 N 1 1 WW 2 =Q(α) N 1 d 0 هی یون و زى W وا سهاکعیون و زى Q استظیطا تض ص يیا زض است هیعاى کنتطیي W همساض W زض استک کلعثاضتهاکعیونهیض ز. عصبی شبک 22
یافتيض ی یت ی Q( ) 1 N WW 1 2 N N N d X jd j X j 1 2 1 j1 1 [ ] [ ] N N N d jd j X X j 1 2 1 j1 N N N d jd j X X j 1 2 1 j1 N 1 1 1 d 0 0 for 1 0,1,..., N X j, X ا ياتست ت الگ ای α ي خريجی ای مرتثط است 23
یافتيض ی یت ی N N N d X jd j X j 1 2 1 j1 گطفتي ظط زض تس ى α k هیت اى سثتت زاز. ا α هحاسث ی خ ت لی ز هطتكگطفت تطاتطتاصفطلطاض M Q( ) 1 [ ] [ ] N 2 1ddk X X k k dk X k X k 0 k 1 k, j X X j N هعازل N هد ل ظطبزاذلی عصبی شبک Q( ) k N 1 d d M 0 k, k 1 24
یافتيض ی یت ی پساظت زستآ ضزى α ذ ا ینزاضت: W N d X 1 X s X support vector W X s b 1 b 1W X s 25
یافتيض ی یت ی W =Σα d X b= d k - W X k for any X k such that α k 0 X هرالفصفط طاىز س یایياستک α ط تطزاضپطتیثاىاست. کی هت اظطش زضایيحالتتاتعخساک س وا سظیطاست: g(x) = Σα d X X + b ت خ : ظطبزاذلیز تطزاض بطظ هحاسث ت اتست ت ی ساظی هسال حل زاذلیتیيتواهی و ایآه ظضیاست. عصبی شبک 26
Soft Margn ضاطل تطضسی ه ضز ذؽی خساییپصیط زاز ای تطای SVM گطفت. حالاگطهدو ع یزاز ایآه ظشلاتلیتخساساظیضا ساضت تاض س چ ذ ا سضس ت تیاىت تطصحثتزضه ضز هسائلخساییپصیطاستک تا یع وطا ست س. ξ ξ عصبی شبک 27
Soft Margn Hardضاتثسیلت حلهسأل ی هسأل ی Margn Softهیض ز. Margn یتض ص زض هیض ز گفت soft خساساظی حاضی ی ک تطایتطذیزاز اضطغظیط مطض ز: d ( W X b ) 1 e 2 e 1 e 7 Slack تااظاف کطزىیک Varable هسأل ضاتاضزیگطتطضسیهیک ین. ایيهتغیطهیعاىا حطافاظضطغ ف قضا طاىهیز س. عصبی شبک 28
Soft Margn Classfcaton 0 1 1 ز حالتهوکياستضخز س: زاز یزضکالسزضست لیزضحاضی لطاضگیطز. زاز یآه ظضیت اضتثا زست ت سیض ز. d ( W X b ) 1, 1,2,, N 29
Soft Margn Classfcaton d ( W Xb ) 1, 1,2,, N زضایيحالتتطزاض ایپطتیثاىآى ایی ست سک زضضاتؽ یتسا یزضعثاضتتاالصسقهیک س حتی تا خ ز ξ>0 ز ض ذاضج هدو ع اظ یعی زاز ای ک ص ضتی زض ض ی یخساک س تغییطذ ا سکطز. ىآ ضز ک است خساک س ض ی ای یافتي سف ذؽایؼثم ت سی ازضستزضآىهی یونض ز: عصبی شبک N 1 I 1 I 0 f 0 1 f 0 30
Soft Margn Classfcaton یک تات خ ت ایيک کوی کطزىچ یيتاتعی هسأل یت ی ساظی nonconvexاست زضضز ی طیظ تاتع تا ضا آى هیگیطز لطاض NP-complete N تمطیةهیظ ین: 1 زضکل سفهی یونکطزىعثاضتظیطاست: R 1 W, W W Cek 2 k 1 regularzaton parameter صفر ت C رچ میکىد ترقرار خطا ي ماشیه پیچیدگی تیه مصالح پارامترو عی ایه تسرگتر حاشی دروتیج ي دارد کمتری ا میت خطا ک معىاست ایه ت تاشد وسدیکتر میش د. وسدیکتر hard margn حالت ت مسال تاشد ترزگتر رچ ي میش د. عصبی شبک 31
Soft Margn تطای Margn Hardزاضتین: Fnd W and b such that Φ(W) =½ W W s mnmzed and for all {(X,d )} d (W X + b) 1 تااظاف کطزى Varable Slackزاضین: Fnd W and b such that Φ(W) =½ W W + CΣξ s mnmzed and for all {(X,d )} d (W X + b) 1- ξ and ξ 0 for all 32
یافتيض ی یت ی هیض ز تعطیف ظیط الگطا ژ ضاتؽ ی و ی یاظه سی اضاپ ضصز س: ت گ ای ک 1 J( W, b,,, ) W W C [ d ( W X b) 1 ] 2 N 1 ترصآذطاظایيض اظاف ضس استک تا اه فی ت زى ξ ضاتعویيک س. عصبی شبک 33
Soft Margn Classfcaton در و ایت ضرایة الگراوژ از عثارت زیر محاسث خ ا ىد شد: Q N 1 1 d N N N jdd j X X j 1 2 1 j1 0 0 C W تا در وظر گرفته قی د زیر تقی مراحل ماوىد حالت قثل خ ا د ت د: N s d X 1 34
SVMغیطذؽی زاض س خساساظی لاتلیت ک زاز ایی تطای عولکطزسیستنتسیاضذ باست. ذؽی 0 x چگ ت زاز ا اگط حلهیض ز هسأل تاضس ظیط ص ضت ای 0 x x 2 Hgh گاضتت یکفعای Dmenson 0 x www.cs.utexas.edu/~mooney/cs391l/sldes/svm.ppt عصبی شبک 35
گاضتت فعایتاالتط زاعتا تا فعایی ت هیت ا س ض زی فعای و اض تاالتط گاضتگطزز. يیا ضز ک تاضس ص ضتی ت هیت ا س گاضت ایي تضاز خساساظی لاتلیت ض زی ا خسیس فعای تاض س. Φ: X φ(x) عصبی شبک www.cs.utexas.edu/~mooney/cs391l/sldes/svm.ppt 36
گاضتت فعایتاالتط X R m زاضتین W X b 0 تضاک زیگطی فعای ت ض زی ا گاهیک ض س تطای گاضتخسیسذ ا ینزاضت: ( X ) [ ( X ), ( X ),..., ( X )] تسا خساساظی ض ی ی یافتي سف حالت ایي زض ت گ ایک : m1 w ( X ) b 0 عصبی شبک j1 j ( X ) R 0 1 1 2 j m W ذط خی m 1 37
m1 j1 w ( X ) b 0 j m1 j0 j w ( X) 0 j j W گاضتت فعایتاالتط ( X) 0 ( X) 1 تافطض 0 ذ ا ینزاضت: ( X) [1, ( X)] W [ b w0, w1, w2,... w 1] m عصبی شبک 38
گاضتت فعایتاالتط تطای ک یز یل ضط غ تواهی هطحل ایي زض ت ت ا زاضز خ ز گطفتین ظط زض ذؽی خساساظی Φ(X زض ظطگطفت هیض ز: X ا( اظای m 1 d w ( X ) 10 j j j0 N W. d ( ( X )) t 1 m 1 1 اسکالط W t ( X ) 0. d ( X ) ( X) 0 1 N عصبی شبک 39
N 1 N 1 گاضتت فعایتاالتط. d ( X ) ( X ) 0. d K( X, X ) 0 K(X,X j )= φ(x ) φ(x j ) N N N 1 Q d d K( X, X ) j j j 1 2 1 j1 تاتع kernel تاتعی است ک معادل ضرب داخلی دي تردار خصیص است. 40
x=[x 1 x 2 ]; K(x,x j )=(1 + x x j ) 2, K(x,x j )= φ(x ) φ(x j ): هثال K(x,x j )=(1 + x x j ) 2,= 1+ x 12 x j1 2 + 2 x 1 x j1 x 2 x j2 + x 22 x j2 2 + 2x 1 x j1 + 2x 2 x j2 = [1 x 1 2 2 x 1 x 2 x 2 2 2x 1 2x 2 ] [1 x j1 2 2 x j1 x j2 x j2 2 2x j1 2x j2 ] = φ(x ) φ(x j ), where φ(x) = [1 x 1 2 2 x 1 x 2 x 2 2 2x 1 2x 2 ] Mercer s theorem: Every sem-postve defnte symmetrc functon s a kernel K(X 1, X 1 ) K(X 1, X 2 ) K(X 1, X 3 ) K(X 1, X n ) K(X 2, X 1 ) K(X 2, X 2 ) K(X 2, X 3 ) K(X 2, X n ) K(X n, X 1 ) K(X n, X 2 ) K(X n, X 3 ) K(X n, X n ) 41
گاضتت فعایتاالتط N N N 1 Q ( ) d X ( ) ( X ) N N N 1 Q d d K( X, X ) عصبی شبک N 1 j j j 1 2 1 j 1, j 1 K K ( X, X ) N NN j است: زیر عثارت در تیشیى الگراوژ ضرایة یافته دف d j j j 1 2 1 j1 0 K( X, ) X زیر قی د گرفته وظر در تا kernel trck تاتع یافته ص رت در 0 C درگیر ک ایه تدين مىاسة kernel وتیج از تى ا ش یم اتعاد( تاال)وکثت اتعاد تا فضای مشالکت میتریم. ت ر واگشت ایه g(x) = Σα d K(X, X)+ b j هاتطیسهتماضى 42
ت اتع گاضت ch-squared kernel 43
ساذتاض SVM g(x) = Σα d K(X,X)+ b K(X 1,X) K(X 2,X) K(X m1, X) 44
چ س کت SVMت گ ایاستک ت ضی ایضایحتطای ؼطاحیضثک ای MLP RBF یاظی ساضز. فعای اتعاز SVM زض پطتیثاىهطرصهیض ز. ذصیص ت سػ تطزاض ای ت آى هطاکع استفاز ه ضز ضعاعی ت اتع تعساز.)RBF ص ضتذ زکاضهطرصهیگطزز) network ضاکز ذ ص ضت ت ظى ا هرفی الی ای تعساز )two-layer هطرصهیض ز.) perceptron پیچیسگیهسأل ت اتعاززاز اتستگی ساضز. ماشيه زبان 45
هثال Problem XOR X 1 [ 1-1] d1 1 X 2 [ 1 1] d2 1 X 3 [1-1] d3 1 X 4 [1 1] d4 1 N 4 K( X, X ) ( X ). ( X ) و ایآه ظضیز تعسی ست س. K( X, X ) (1 X X ) 2 46
X X [ x x ] 1 2 [ x x ] 1 2 XOR Problem K( X, X ) (1 X X ) 2 x (1 [ x x ] ) (1 x x x x ) 1 2 2 1 2 1 1 2 2 x 2 2 2 2 2 1 1 1 2 1 2 1 1 2 2 1 x x 2x x x x x x 2x x 2x x 2 2 حالاگطتر ا ینپاسدت زستآهس ضاتاظطب زاذلیز تطزاض( φ(x ( φ(x طاىز ینذ ا ین زاضت: 47
XOR Problem 1 x x 2x x x x x x 2x x 2x x 2 2 2 2 1 1 1 2 1 2 1 1 2 2 2 2 2 φ( X ) [1, x, 2 x x, x, 2 x, 2 x ] 2 2 1 1 2 1 2 φ( x ) [1 x, 2 x x, x, 2 x, 2 x ] =1,2,3,4 2 2 1 1 2 1 2 2 48
XOR Problem φx ( ) [1, x, 2 x x, x, 2 x, 2 x ] 2 2 1 1 2 1 2 2 φ( x ) [1 x, 2 x x, x, 2 x, 2 x ] =1,2,3,4 2 2 1 1 2 1 2 2 X 1 [ 1-1] X X X 2 [ 1 1] 3 [1-1] 4 [1 1] 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 1 1 2 1 2 2 49
XOR Problem K 4 4 1 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 2 1 2 2 2 2 2 2 2 2 2 2 K( X, X ) (1 X X ) 2 K 4 4 9 1 1 1 1 9 1 1 1 1 9 1 1 1 1 9 50
XOR Problem Q( )= N 4 4 4 4 1 Q( ) d d K( X, X ) 1 2 3 4 j j j 1 2 1 j1 1 2 2 2 2 (9 1 9 2 9 3 9 4 2 1 2 2 1 3 2 1 4 2 2 3 2 2 4 2 3 4 ) 2 زستآ ضزى α ات ی ه دطت ض اتػظیطهیض ز: 51
XOR Problem 1-9 0 1 2 3 4 1+ 9 0 1 2 3 4 1+ 9 0 1 2 3 4 1 8 Q ( ) 1 4 1-9 0 1 2 3 4 ت اتطایي طچ اض ض زی تطزاضپطتیثاى ست س. پساظهحاسث ی α ا W t ضاهحاسث هیک ین: 52
XOR Problem خ تهحاسث یا ساظ ی ظىت ی زاضین: 1 2 W 1 t = 2 4 W t 1 = 2 N W. d ( ( X )) t j 1 زاضتین: 53
XOR Problem ض ی ی ت ی ت سیل ی هیض ز: هحاسث ظیط ضاتؽ ی W t ( X) 0 xx 0 1 2 54
XOR Problem 55
56
هثال clear all; close all; load fsherrs data = [meas(:,1), meas(:,2)]; groups = smember(speces,'setosa'); [tran, test] = crossvalnd('holdout',groups); cp = classperf(groups); svmstruct = svmtran(data(tran,:),groups(tran),'showplot',true,'boxconstr ant',1e6); ttle(sprntf('kernel Functon: %s',... func2str(svmstruct.kernelfuncton)),... 'nterpreter','none'); classes = svmclassfy(svmstruct,data(test,:),'showplot',true); classperf(cp,classes,test); cp.correctrate 57
58
هثال clear all; close all; load fsherrs data = [meas(:,1), meas(:,2)]; groups = smember(speces,'setosa'); [tran, test] = crossvalnd('holdout',groups); cp = classperf(groups); svmstruct = svmtran(data(tran,:),groups(tran),'showplot',true); ttle(sprntf('kernel Functon: %s',... func2str(svmstruct.kernelfuncton)),... 'nterpreter','none'); classes = svmclassfy(svmstruct,data(test,:),'showplot',true); classperf(cp,classes,test); cp.correctrate 59
60
r = sqrt(rand(100,1)); % radus t = 2*p*rand(100,1); % angle data1 = [r.*cos(t), r.*sn(t)]; % ponts r2 = sqrt(3*rand(100,1)+1); % radus t2 = 2*p*rand(100,1); % angle data2 = [r2.*cos(t2), r2.*sn(t2)]; % ponts plot(data1(:,1),data1(:,2),'r.') plot(data2(:,1),data2(:,2),'b.') axs equal data3 = [data1;data2]; theclass = ones(200,1); theclass(1:100) = -1; cl = svmtran(data3,theclass,'kernel_functon','rbf',... 'boxconstrant',inf,'showplot',true); hold on axs equal هثال يادگيری ماشيه 61
62 يادگيری ماشيه